'''
类中的方法
静态方法、魔术方法、类方法、普通方法调用测试
'''

class SingleInstance():

    # 类的属性，可以在实例中调用
    instance=None
    
    # 构造方法
    def __init__(self,name,age) ->None:
        self.name=name
        self.age=age
        self.instance=age

    # 类方法
    @classmethod
    def getInstance(cls):
        if cls.instance is   None:
           cls.instance='chuanchuan'
        return cls.instance
        pass
    # 静态方法
    @staticmethod
    def getName (name):
        print(name)

    @staticmethod
    def getInstance1(cls):
        if cls.instance is   None:
           cls.instance='chuanchuan'
        return cls.instance
        pass
    # 实例方法
    def getInstance2(self,worker):
        print(self.instance)
        print(worker)

# 实例初始化
s = SingleInstance('tian',12)
# 实例调用静态方法
s.getName('实例调用')
s.getInstance2('worker1')
# 类方法调用
print(SingleInstance.getInstance())
SingleInstance.getName('类调用类方法')
# 类调用静态方法
print(SingleInstance.getInstance1(SingleInstance))

